/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package biermanager.nucleo;

import java.awt.Image;
import java.awt.Toolkit;
import java.awt.image.MemoryImageSource;
import java.awt.image.PixelGrabber;
import java.util.logging.Level;
import java.util.logging.Logger;

/**
 *
 * @author Tiago Silva Loureiro
 */
public class ImagemSerializada {
    private int[] imagemSerializada;
    private int largura;
    private int altura;

    public ImagemSerializada(Image imagem, int largura, int altura) {
        try {
            this.largura = largura;
            this.altura = altura;
            imagemSerializada = getArrayPelaImagem(imagem, this.largura, this.altura);
        } catch (InterruptedException ex) {
            Logger.getLogger(ImagemSerializada.class.getName()).log(Level.SEVERE, null, ex);
        }
    }

    public Image getImagem() {
        return getImagemDeArray(imagemSerializada, largura, altura);
    }

    

    private int[] getArrayPelaImagem(Image imagem, int largura, int altura) throws
InterruptedException {
	int[] pixels = new int[largura * altura];
	PixelGrabber pg = new PixelGrabber(imagem, 0, 0, largura, altura, pixels,
0, largura);
	pg.grabPixels();
	return pixels;
}  //  private int[] getArrayFromImage()

private Image getImagemDeArray(int[] pixels, int largura, int altura) {
	MemoryImageSource mis = new MemoryImageSource(largura, altura, pixels,
0, largura);
	Toolkit tk = Toolkit.getDefaultToolkit();
	return tk.createImage(mis);
}  //  private Image getImageFromArray()

}
